<?php  

 $file_name = $_GET['file'];
  //对中文文件应该进行转码
 $file_name=iconv("utf-8","gb2312",$file_name);
 $file_sub_dir = '/nsbbs/public/uploads/file/';
 $file_path = $_SERVER["DOCUMENT_ROOT"].$file_sub_dir.$file_name;

 if(!$_GET['file'] || !file_exists($file_path)){
 	header("Location:err.php?id=6");
 	exit();
 }
 $fp=fopen($file_path,"r");
 //获取下载文件的大小
 $file_size = filesize($file_path);
 //返回的文件
 header("Content-type:application/octet-stream");
 //按照字节大小返回
 header("Accept-Ranges:bytes");
 //返回文件大小
 header("Accept-Length:$file_size");
 //这里客户端弹出的对话框，对应的文件名
 header("Content-Disposition:attachment;filename=".$file_name);
 //向客户端回送数据
 $buffer=1024;
 $file_count=0;
 //这句话用于判断文件是否结束
 while(!feof($fp) && ($file_size-$file_count > 0)){
 $file_data = fread($fp,$buffer);
 //统计读了多少个字节
 $file_count += $buffer;
 echo $file_data; //将数据完整的输出
 }
 //关闭文件
 fclose($fp);